System and method to access and organise information available from a network

ABSTRACT

The present invention describes a search of information and access to services through a network, for example the Internet, and more particularly pertains to a method for organising the activity of a user by monitoring the activity of the same user, as well as other users who display similar behaviour.

FIELD OF THE INVENTION

[0001] The present invention relates to search of information and access to services. through a network, for example the Internet, and more particularly pertains to a method for organising the activity of a user by monitoring the activity of the same user, as well as other users who display similar behaviour.

OBJECT AND SUMMARY OF THE INVENTION

[0002] Accordingly, it is a primary objective of the present invention to reorganise and classify hyperobjects available on the Internet and to classify a single user in a way to enhance first the most relevant information for his user profile. It is another objective of the present invention to monitor the activity of users in a way to classify them depending on their past actions and anticipate their choices during their future activity on Internet.

[0003] To accomplish these objectives, the present invention comprises a method of organizing Internet documents and services, in which the same search activity and the access to services by the users is monitored and such activity is used to classify users and organize hyperobjects displayed in the results of their searches. The invention operates by publicly offering an interface on the Internet, which allows the users to select and reorganize information extracted from Internet. Using statistical information processing techniques, like a neural network based system, it allows the activity of a large number of Internet users to build users' profiles and to organize the information available over the Internet through an evolutionary process.

[0004] The choice of using neural network based systems and the brief description sets forth rather broadly the more important features of the present invention in order that the detailed description thereof that follows may be better understood, and in order that the present contributions to the art may be better appreciated. There are, of course, additional features of the invention that will be described hereinafter and which will be for the subject matter of the claims appended hereto.

[0005] In this respect, before explaining a preferred embodiment of the invention in detail, it is understood that the invention is not limited in its application to the details of the method set forth in the following description. The invention is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood, that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting.

[0006] As such, those skilled in the art will appreciate that the conception, upon which disclosure is based, may readily be utilized as a basis for designing other methods and systems for carrying out the objects and purposes of the present invention, some of them we are also currently exploiting. For example, one could use the same principles and very similar implementation described here within the context of a company, in order to monitor the internal activity through an Intranet resource (the localized version of the Internet), organize documentation, stimulate and automate the knowledge transfer process. It is important, therefore, that the claims be regarded as including such equivalent constructions insofar as they do not depart from the spirit and scope of the present invention.

LIST OF DRAWINGS

[0007] The advantages obtained by the invention will be better understood in view of the following drawings, given as a non limiting example, in which:

[0008]FIG. 1 shows a representation of an Hyperobject according to the invention;

[0009]FIG. 2 shows a representation of an Hyperspace according to the invention;

[0010]FIG. 3 shows a representation of an Hyperspace and of the distance Distribution according to the invention;

[0011]FIG. 4 shows a representation of the movement of an object in an Hyperspace according to the invention;

[0012]FIG. 5 shows a representation of the movement of a “light” object in an Hyperspace according to the invention;

[0013]FIG. 6 shows a representation of the movement of a ‘Heavy’ object in an Hyperspace according to the invention;

[0014]FIG. 7 shows a representation of Object Distances in an Hyperspace according to the invention;

[0015]FIG. 8 shows a representation of a Profiling Process according to the invention;

[0016]FIG. 9 schematically shows a possible architecture of an apparatus according to the invention.

[0017]FIG. 10 shows a possible hardware configuration of a system according to the invention

DETAILED DESCRIPTION OF THE INVENTION

[0018] The Internet is an extensive network of computer systems, which allows a user to connect with various computer servers or systems. The Internet permits users to send and receive data between the computers connected to this network. The data can be read, viewed or listened to on a browser or other software program from over the Internet on a remote user's computer. This data may comprise articles, databases, data collections, web sites, web pages, graphics, encryption, audio, video or any other type of information collectively referred to as hyperobjects.

[0019] We mean for “hyperobject” any information item (image, text, sound, link to other documents or services, etc.) included in any document or hypertext shared on a global network (e.g., Internet). In other words, hyperobject is any object univocally retrievable from Internet through a given set of reference information. A hyperobject may be also the result of search of information from a database accessible through Internet. Hyperobjects may be present for limited time and then disappear. This kind of hyperobjects will be still recognised as valid but outdated items. The Internet is then considered for the purpose of this invention as a source of unorganised set of hyperobjects, rather than collection of structured and organised documents. Every document present on Internet is instead seen as just one possible manner of organising the hyperobjects included in it. The significance of a hyperobject, the interrelation between hyperobjects and relation between hyperobject and keywords are validated by statistical accumulation of information derived by either documents or indication from their usage. The purpose of following sections is then defining criterions for allowing a “knowledge engine” to structure the widely unorganised collection of hyperobjects extractable from Internet.

[0020] The present invention firstly defines a series of actions, which allow users to search, select, organise either or both information and links to information and services directly on their local machines. Typical actions will be the search of Web pages available from the server database as well as from different search engines present on the Internet, deletion of uninteresting hyperlinks, association of pictures or part of text to new specific keywords, etc.

[0021] Users are expected to navigate the information and access to services available from Internet using a standard Internet browser. An Internet browser is a computer program, which allows users to display standard HTML, documents in form of text, images and hyperlinks, which are transmitted by a computer server connected to a network. Standard Internet browsers like Netscape™ 3.0+ and Internet Explorer™ 3.0+ incorporate also Javascript™ interpreters, which allow executing software attached to HTML documents. This software is platform independent metacode and it is executed by the browser on the client side, allowing to perform a series of complicated actions directly on the user screen, like object deletion and drag & drop, provided that proper program codes have been transmitted by the server in an appropriate way.

[0022] One or more servers are connected to Internet by who exploits the present invention. They are remotely accessible through Internet using standard architectures and they provide a proprietary software, to be executed on a typical client machine. This proprietary software could be written in Javascript™ and executed within the standard Internet browser or it could be written instead in the native code language of the client machine. Ultimately, a proprietary Internet browser with the software necessary to this invention could be provided to the user to be used instead of a standard Internet browser.

[0023] In a preferred embodiment of the invention, when a user is connected through the network to a server, a client software is transmitted to the user by the server.

[0024] This client software is capable of performing editing operation on the “pages” which are accessed by the browser of the user, and possibly of extracting relevant information therefrom in order to continuously send such information to the “knowledge engine” resident in the server, together with other information relating to the user activities.

[0025] In this way, the system is able to monitor the activity of each user and to store all related information into its database. Since users can retrieve the effects of their activity on a subsequent access, they are induced to use this system rather than just navigating throughout the information, as in the previous art. At the same time the product of their activity represents additional valuable information stored in the server database, which can be used to answer questions of other users accessing subsequently. Another significant benefit is that users are classified on the basis of their activity, so that a series of actions can be performed toward a restricted selected class of users rather than the whole base.

[0026] One drawback of implementing this method is that, as the system depends heavily on a complete transfer of the human expert's knowledge and experience into the particular implementation, it is difficult to produce an expert system capable of understanding the. connection between user actions and user needs in a complex and variegate situation like that produced by million of people operating on Internet. Recently, neural network based systems have been developed which provide powerful self-learning and adaptation capabilities to cope with uncertainties and changes in a complex system. The results derived by using neural networks can be obtained without a detailed knowledge of the underlying process, in contrast with those obtained in expert systems.

[0027] Neural networks are applied in a different way from a typical pattern recognition and classification (such as voice or shape recognition). Instead of applying this method to patterns that already exist, patterns are generated in the form of coordinates of random points lying on hyperspheres. Points related to a given object or keyword are multiply defined in different hyperspaces. Every hyperspace represents a different context of characterization for a specific object. For example, one defined space is more related to the meaning and to the relevant context of keywords and hyperobjects, thus connecting keywords to hyperobjects, keywords to keywords and hyperobjects to hyperobjects. Another space connects keywords to users and hyperobjects to users instead, and it is related to areas of usage, in other words to the profile of users. Every space is in general a multidimensional hyper-space with variable number of dimensions. This number is set by the system manager depending on the degrees of freedom that are most convenient to describe the complexity of the corresponding context. In fact, too few dimensions may be insufficient to properly separate different subspaces and to mimic the different meanings/usages of the same subspaces. Conversely fewer dimensions can sometimes be better to create less dispersion in hyper-points and to increase the chance of superimposition, which create an inference process between conceptual areas.

[0028] To successfully apply neural network to a situation of consistent data inhomogeneity, each element involved in the learning process is identified by a single sequential number. This number must be unique for each element, i.e., there must be no hyperobjects with the same identification number of another hyperobject, no users with the same identification number of a user, etc.. The actual nature of keywords, hyperobjects and users (e.g., their digital information) is in general discarded and their identification number only will be used. This scheme allows to enrich the knowledge base of information deducted by the actions of users only. This means that the connection between hyperobjects and keywords is given by the indication of users rather that for the fact that the digital information related to a hyperobject is containing that keyword.

[0029] Every time a user performs any kind of operation individually involving an unknown hyperobject (highlight, deletion, move, maximize, etc.), it recognizes this hyperobject as significant item and thus a new field will be created for it within the hyperobject database. The structure of this field is as follows: Hyperobject ID: (a number) Retrieve path: (any series of keywords which make one able to retrieve the hyperdocument containing the hyperobject) Position within (any locator entity) the hyperdocument: Date & Time: (possibly expressed for the Greenwich time zone) Type of (a number) information ID:

[0030] When a new hyperobject is created, a vector is generated containing the n coordinates of its initial position in the n-dimensional space. If no a priori information is available, the initial point is randomly generated on the surface of a hypersphere, with the following mechanism described by the following piece of pseudo-code: LET sum2 = 0 LOOP FOR i FROM 1 TO nr REPEAT LETTING x(i) = RAND*2 − 1 WHILE RAND>{square root}(1 − x(i){circumflex over ( )}2){circumflex over ( )}(i − 1) LET x(i) = x(i)*{square root}(1 − sum2) LET sum2 = sum2 + x(i){circumflex over ( )}2 END LOOP LET x(1..nr) = π/4x(1..nr)/{square root}(sum2)

[0031] This will allow to get a distribution of points within the hyper-space where the mean cross-distance is more or less unitary.

[0032] Similar procedures are involved for the construction of all other elements to be connected within the various spaces.

[0033] Every time a user signs up for the first time a new field will be created for it within the user database. The structure of a field in the user database is as follows: User ID: (a number) Username: (chosen by the user during his registration) Password: (chosen by the user during his registration) Date & Time of (possibly expressed for the Greenwich time zone) first registration: Date & Time of (possibly expressed for the Greenwich time zone) last access:

[0034] The random point for a new user can be computed in the same way as in the case of the creation of new hyper-objects. However, when a priori information is available, the initial position is determined by a different mechanism. “Boosting” is a way to determine this point by comparing the a priori information on a new user (like personal or survey data obtained asking directly the users) with the average position of points related to all previous users falling within the same a priori categories.

[0035] Every time a user performs an operation involving an unknown set of keywords (search request, association of hyperobjects to keywords, etc.), a new field will be created for it within the keyword database. The set of keyword is stored exactly as typed by the user, but additional spaces are deleted. E.g., “LaTeX” and “latex” are both created, as well as “Ferrari• turbo” and “TURBO• FERRARI”, while “news• from• Japan” and “• news• • from• Japan” must correspond to the same field.. A node created in the keyword tree is seen as sequence of the keywords related to it, from the highest to the lowest level. The structure of a field in the keyword database is as follows: Keywords ID: (a number) Keywords list: (case and order sensitive with elimination of additional spaces)

[0036] The random point for a new keyword that is not similar to anyone previously inserted is computed in the same way as in the case of the creation of new hyper-objects and new users. When a new set of keyword is created, a list of correlated existing keywords is sent to the knowledge engine together with a correlation factor. This can be calculated as follow: the only changes from upper-case to lower-case or exchange in the order of keywords give a maximum correlation equal to 1; a set of keyword included within a number n of other existing keyword, the correlation factor will be 1/n. Other corrections to these correlation factors are given following rules that take into account the similarity in spelling, sound, meaning and equivalence over different languages. This is another kind of “boosting” information used in a similar way to the boosting information for users: the correlation factors represent weights to be used during the computation of an average starting position for the new keywords.

[0037] The following table shortly reports the various information elements and their presence in the currently defined spaces: A B C D Keywords ID x x x Keywords related x ID Keywords past ID x Hyperobject ID x x x x User ID x Action ID x x First 2 bytes of user x IP Time from last x connection Duration of last x connection Architecture ID x

[0038] The context of the 4 different defined spaces is as follows:

[0039] Meaning correlation

[0040] User correlation

[0041] Space correlation

[0042] Usage correlation

[0043] Once points are created in the various hyper-spaces, user actions and other kind of new information are monitored in order to move the various element points to form families of points and to change the distance between one point and each other.

[0044] When a user starts a new session, an empty list of actions is temporarily created for that. The general information connected to every single session is: Session ID: (a number) User ID: (a number) First 2 bytes of user IP: (a number between 0 and 65535) Architecture ID: (a number) Time from last connection: (number of seconds) Duration of last connection: (number of seconds)

[0045] Any action that can be performed by users on the client application (e.g., highlight, deletion, move and maximize of hyperobjects, activation, deactivation and access of any kind of service, activation or deactivation of options, etc.) will correspond to an action ID (number).

[0046] When a user starts a new session, an empty list of actions is temporarily created for that. Every time a user will perform an identified action, the corresponding action, keyword and hyperobject ID's will be stored in the next free position of his active list. The filed Session ID: (a number) Action ID: (a number) Keywords ID: (a number - optional) Hyperobject ID: (a number - optional) Keywords related ID: (a number - optional)

[0047] Every action is connecting the different elements with a significance factor (“rank”). This factor gives the amount of change due the related information and can be positive or negative, depending on whether the association between the involved elements has to become stronger or weaker. For example, if a user saves a given hyper-object under a given keywords tree node, it means that consider the association between keyword and hyper-object strong. Consequently, the rank relative to that action will be positive and will have a relatively high value. When the same user deletes the same hyper-object, it means that his interest toward the hyper-object and its association with the keyword is considered lower. This will be expressed by means of a negative rank, approximately with the same absolute value as for the previous action. Rank values connected to the different actions depend on the specific implementation and are refined by experimentation.

[0048] When an association is established, the various points involved will change their position following a rule derived from the Kohonen rule used for neural networks. A major difference from the classic Kohonen rule is that every n-th point has not only a position vector x_(n), but also a weight w_(n) that determines the “inertia” of that point. The change in position is determined by both these values and by the rank r, using the following rules:

x _(n)=(x _(m) r+x _(n) w _(n))/(r+w _(n));

w _(n) =w _(n) +r;

x _(m)=(x _(n) r+x _(m) w _(m))/(r+w _(m));

w _(m) =w _(m) +r;

[0049] When both assignments are executed, the update of vectors and weights will be bi-directional. In this case, the two points are attracted each to each other and they will tend to meet each other in some intermediate point. Not always an update will bi-directional. Sometimes only the first or the second assignment will be used. In that case, one of the two points (“child”) will be systematically attracted by the other one (“parent”).

[0050] After a wide usage of these update rules and using thousands or even millions of association information, points slowly spatially organize following criterions of belonging to specific conceptual areas. These conceptual areas have not been created a priori by an expert intervention, like with an expert system, but automatically organized by the process itself. Most points will tend to go around the centre of the hyper sphere, but they will still have a preferential displacement toward a given direction. To compensate from the trend of collapsing around the centre, a mean distance between points is computed and a compensation factor is computed to be multiplied to the coordinate values in a way that the mean distance between points will always be approximately equal to 1.

[0051] The system can finally be interrogated to predict what the choice, selection or action of a user could be when he accesses the system. For example, the system may be interrogated on the preference of a user toward a given hyper-object, a given keyword or the connection between a keyword and a hyper-object. The criterion is always roughly the same: a distance much less than 1 between two given points means a non-neutral relationship between the two objects associated to those points. By scanning all hyper-objects and all keywords related to given keywords-users-architectures-locations and so on, the system will be able to suggest related keywords, as well as hyper-objects of special interest for the user. While the final result process can be apparently similar to that of other search engines, the newly invented system takes advantage of its particular usage of all statistical data related to frequency of access to given keywords and hyper-objects, origin of request and profile of users who makes the query, and other important information.. The system will be then much more satisfactory for the user that any existing search engine, and will anticipate their real intentions and exigencies when they look for any specific information or access to services on Internet.

[0052] With reference to FIGS. 1-9, the following is an explanatory example of the functioning of the apparatus and of the method of the invention, wherein the terms have the following meanings:

[0053] The Knowledge Engine

[0054] The Knowledge Engine is responsible for creating, modifying and retrieving the Profile Hyperspace, that is used to return profiled search results.

[0055] KLearners

[0056] Knowledge Learners are responsible for building the Profile Hyperspace. They pull out entries from the Event Queue, compute the new coordinates of the involved objects and update the Profile Hyperspace. All KLearners can work in parallel, even if in case two of them process the same pair of objects, the former information is lost, but this is acceptable from a statistical point of view.

[0057] KProcessors

[0058] KProcessors are responsible for building the result cache used by the Kconsumers to quickly respond to user search requests. They work off-line by reading the log of the events on objects and keywords of the previous time frame and by processing all the distances between the two sets.

[0059] KConsumers

[0060] KConsumers are responsible for returning quick answers to users search requests. For doing this, they interact with a cache of predefined search results that is provided by the KProcessors. For performance reasons, some of this cache may be held in memory.

[0061] MConsumers

[0062] The MetaSearch Consumers are responsible for processing meta-searching and url requests.

[0063] The Personal Knowledge Manager

[0064] The Personal Knowledge Manager is the actual front-end for the end user. It resides on the client side and is tightly integrated in the Microsoft Explorer® architecture.

[0065] The Web Application Server

[0066] The Web Tier is responsible of handling Web connections with the client.

[0067] Queue Manager

[0068] The Queue Manager is responsible for handling all user requests in its internal queuing system.

[0069] The Database Server

[0070] The SQL server is responsible for storing and retrieving all the objects saved onto the system and the personal tree configuration.

[0071] Storage Area Network

[0072] A storage area network (SAN) is a high-speed special-purpose network (or sub network) that interconnects different kinds of data storage devices with associated data servers on behalf of a larger network of users. A SAN supports disk mirroring, backup and restore, archival and retrieval of archived data, data migration from one storage device to another, and the sharing of data among different servers in a network.

EXAMPLE

[0073] Hyper-Objects (FIG. 1)

[0074] Each hyper-object is represented in each Conceptual Space by a set of 16 coordinates, an Inertial Mass Factor and a Decay Factor.

[0075] The 16 coordinates are used to determine the object position inside the Profile Hyperspace and represent its degrees of freedom. They can be considered as abstract properties of the object, that are used to correlate objects to each other. The number of actual coordinates used by the system can also be increased to get a finer representation of the objects in the hyperspace.

[0076] The Inertial Mass Factor is used to determine the resistance to movement of the object. The more an object is used and referred, the more it becomes heavy, thus reducing its ability to move freely in the Hyperspace.

[0077] The Decay Factor is used to determine the obsolescence of an object. It grows in parallel with the Inertial Mass Factor, but is automatically and periodically decreased by an automatic procedure. This value is also used to filter obsolete objects out of the system.

[0078] When first created, the hyper-object is given by the system a ‘neutral’ set of coordinates, that is a set that places the object at an average distance from all other objects already existing in the hyperspace, and an initial weight and decay factors as defined by the Knowledge Engine configuration. Later interaction of the users moves the object in the hyperspace and increases its inertial mass, until it reaches a stable position that represents its conceptual meaning area.

[0079] Learning Process (FIGS. 2 to 7)

[0080] The learning process takes place by analyzing user activity on the Personal Composer. All user actions, such as search request, web navigation, tree and object management, is decomposed into actions and then sent to the server by the Personal Composer add-on. The Web layer inserts all these events into a dedicated queue, from where they are retrieved for processing by the Knowledge Learner (KLearners in FIG. 9).

[0081] The process of learning consists in moving hyper-objects within the conceptual hyperspaces toward their stable position, that is given by the sum of all their interactions and correlations with the remaining objects. Once the objects move in the hyperspace, they tend to aggregate into specific areas, that can be considered as conceptual systems, that are areas of highly correlated objects.

[0082] These systems are then used by the Knowledge Engine to retrieve appropriate results to user queries, by returning the objects in the hyperspace closest to the keywords provided. As seen in the previous figure, points that has a correlation tend to aggregate (relative distance much lower than 1), while points with few or none correlation tend to diverge (relative distance much grater than 1).

[0083] The movement of a hyper-object in its conceptual space is related to its current position and its inertial weight: (FIG. 4)

[0084] The actual movement is given by the following formula:

x _(m)=(x _(n) ^(•) r+x _(m) ^(•) w _(m))/(r+w _(m))

x _(n)=(x _(m) ^(•) r+x _(n) ^(•) w _(n))/(r+w _(n))

[0085] Where:

w _(m) =w _(m) +r

w _(n) =w _(n) +r

[0086] (FIG. 5)

[0087] “Light” objects, that is those objects that have not been used frequently, tend to move faster and to be more unstable in the hyperspace. (FIG. 6)

[0088] “Heavy” objects, that is those objects that have been used frequently, tend to move slower and to be more stable in the hyperspace. These objects also tend to attract lighter objects, thus creating and defining conceptual areas. (FIG. 7)

[0089] Distances between points within the hyperspace is taken as correlation factor between the corresponding elements (>1 low correlation; <1 high correlation)

[0090] Since the system tends to collapse in the long term, a normalization procedure needs to be implemented to keep the median distance between points around 1.

[0091] Profiling Process (FIG. 8)

[0092] User profiling is the process of relating users with keywords and objects in the Profile Hyperspace. Each user activity is used to modify the correlation between the user itself and the rest of the profile universe.

[0093] For example, during a search request, the user first submits a query to the search engine, than selects or save a search results. The Knowledge Engine use this information to relate the user and the object more strictly, thus evolving the knowledge base to the new state. The sum of all these evolutions creates the Profile Hyperspace, where users and objects tend to converge or diverge according to the correlation between them given by user activity.

[0094] As seen in the conceptual spaces definition, users can be profiled according to their preferences in terms of keywords, objects or geographical positions. This profiling gives the Net Wizard the capability of returning personalized results to user search requests, or to provide tailored information and services according to their preferences.

[0095] Data Model

[0096] Database Interface

[0097] The Knowledge Learner uses OLE DB to read and write SQL Server 2000 database.

[0098] ADO is a high level view of the OLE DB consumer protocol. In C/C++ we can use OLE DB directly. For performance convenience the connections to SQL Server are maintained open, on a one-per-thread basis. The cursor library is opened with adUseServer option, and lock is set to adLockOptimistic.

[0099] Data Model

[0100] Examples of hyper-objects are links, users, keywords or set of keywords, html code, pictures and every part of a web page that can be selected and saved on the Personal Tree. The hyper-object data structure is the following: Field Name Type Null Size Description ObjectID int No 4 bytes Unique Object identifier ObjectWeight int No 4 bytes ObjectDecay int No 4 bytes ObjectLoc[1 . . . 16] real 4 bytes*16 HyperSpace cords (16 coord)

[0101] Each record is 56 bytes long and the meaning of each field is the following: ObjectID The ObjectID is the unique identificator of a hyper-object and it is assigned when the object is first saved or used into the system. ObjectWeight The ObjectWeight is used to determine the inertial mass of the object, that is defined as its resistance to movement in the Profile Hyperspace. The more the object is moved by the learning process, the more it becomes heavier, thus increasing its resistance to movement. In this way, objects tends to find their equilibrium point and to become more stable. ObjectDecay The ObjectDecay defined as its relevance compared to its last usage date. This parameter is used to filter the object loaded in the Knowledge Engine cache, thus determining the list of the ‘live’ objects. Every time the object is used or referenced, its ObjectDecay increases, in parallel with the ObjectWeight. Periodically, all the ObjectDecay values are reduced, so that only fresh objects are retrieved from the system. New objects can receive ObjectDecay ‘bonus’, so that they are more likely listed in search results. ObjectLoc ObjectLoc is a vector of Integer containing the actual coordinates of the hyper-object in the hyperspace.

[0102] Table KE_USERS This table represent a user in the hyperspace Field Type Length Description ID int 4 bytes The unique userid WEIGHT int 4 bytes The actual weight in the hyperspace DECAY int 4 bytes The actual decay in the hyperspace COORDS 1 . . . 16 real 4 bytes*16 The 16^(th) dimension hyperspace coordinates LASTUPD datetime 8 bytes Last update date/time (trigger managed)

[0103] A trigger TRG_UPDATEDATETIMESTAMP_KE_USERS is fired each insert/update to write LASTUPD field Table KE_KWDS This table represent a keyword in the hyperspace Field Type Length Description ID int 4 bytes The unique keyword ID WEIGHT int 4 bytes The actual weight in the hyperspace DECAY int 4 bytes The actual decay in the hyperspace COORDS 1 . . . 16 real 4 bytes*16 The 16^(th) dimension hyperspace coordinates LASTUPD datetime 8 bytes Last update date/time (trigger managed)

[0104] A trigger TRG_UPDATEDATETIMESTAMP_KE_KWDS is fired each insert/update to write LASTUPD field TABLE KE_IP This table represent an IP address in the hyperspace Field Type Length Description ID int 4 bytes The unique IP ID WEIGHT int 4 bytes The actual weight in the hyperspace DECAY int 4 bytes The actual decay in the hyperspace COORDS1 . . . 16 real 4 bytes* 16 The 16^(th) dimension hyperspace coordinates LASTUPD datetime 8 bytes Last update date/time (trigger managed)

[0105] A trigger TRG_UPDATEDATETIMESTAMP_KE_IP is fired each insert/update to write LASTUPD field Table KE_OBJKWD - KE_OBJUSR - KE_OBJIP This table represent a relation obj/user, obj/kwd, obj/ip in the hyperspace. The three tables have the same internal structure as follow Field Type Length Description ID int 4 bytes The unique Object ID WEIGHT int 4 bytes The actual weight in the hyperspace DECAY int 4 bytes The actual decay in the hyperspace COORDS 1 . . . 16 real 4 bytes* 16 The 16^(th) dimension hyperspace coordinates LASTUPD datetime 8 bytes Last update date/time (trigger managed)

[0106] A trigger TRG_UPDATEDATETIMESTAMP_KE_OBJ [IP, KWD, USER ] is fired each insert/update to write LASTUPD field, where x may be OKWD, OUSR, OIP Table KE_ACTIVITYLOG This table is used to inform Knowledge processor (KProcessor in FIG. 9) of a new status for keywords or objects (see Knowledge Processor documentation) Field Type Length Description GID int 4 bytes The unique ID (Object or keyword) HITCOUNT int 4 bytes The number or times it has been updated LASTWEIGHT int 4 bytes The actual weight of the object TYPE int 4 bytes The type of record; 1 = OBJ ID, 2 = KWD ID. LASTUPD datetime 8 bytes Last update date/time (trigger managed)

[0107] A trigger TRG_UPDATEDATETIMESTAMP_KE_ACTIVITYLOG is fired to update the LASTUPD field when records are inserted or updated.

[0108] KX_TR_DATEUPD Trigger

[0109] This is a simple trigger fired by the insert or update event on the relative table. It resides in the same table space as the tables.

[0110] In a preferred embodiment it is then described a system to access and organise information available from a network including one or more network servers and one or more network user units, the user units being provided with means allowing users to browse documents and access other services available form the network, wherein it comprises:

[0111] means to associate a specific user to an identification key;

[0112] means to track any action performed by an user through said browsing means and to associate the action related information to said identification key;

[0113] means to allow an user to retrieve at least part of the effects of an action previously performed using the same identifying key;

[0114] organising means capable of statistically analysing the frequency and the sequence of the actions performed by an user identified by the same identification key in order to suggest new action to the same user.

[0115] Preferably, said browsing means comprise computer means allowing a user to access keyword search engines over different knowledge databases of the network and to display their responses.

[0116] Preferably, said accessing and displaying means comprise computer means allowing a user to organise said responses.

[0117] Preferably, said accessing and displaying means comprise computer means capable of displaying hypertext responses with their hyperlinks inactivated and means allowing an user to activate hyperlinks on selected responses.

[0118] Preferably, said organising means comprise computer means allowing an user to delete selected responses from a screen.

[0119] Preferably, said organising means comprise computer means allowing an user to move selected parts of responses, in terms of text, images or hyperlinks, to a selected node of a keyword tree, being able to add new nodes when required.

[0120] Preferably, said organising means include a self-learning neural network system capable of being operated by a network server.

[0121] Preferably, said neural network system is capable of analysing the network available information and the actions of a user in the form of hyperobjects represented by hyperpoints of a number of hyperspaces, the relevance of said hyperobjects in respect to a user information search being classified according to their reciprocal distance in at least one of said hyperspaces.

[0122] Within the present invention it is further described a method to access and organise information available from a network including one or more network servers and one or more user units, the user units being provided with means allowing users to browse documents and access other services available form the network, characterised in that it comprise the following steps:

[0123] identifying groups of users having a similar behaviour when they are browsing the network;

[0124] statistically analysing the frequency of actions performed by the users of said groups in order to organise the information resulting form the network browsing;

[0125] suggesting new action to said users on the base of the performed statistical analysis.

[0126] Preferably, said suggesting step is applied to users having a similar behaviour when they move selected parts of responses, in terms of text, images or hyperlinks, to a selected node of a keyword tree, they adding new nodes when required. 

1. A system to access and organise information available from a network including one or more network servers and one or more network user units, the user units being provided with means allowing users to browse documents and access other services available form the network, characterised in that it comprise: means to associate a specific user to an identification key; means to track any action performed by an user through said browsing means and to associate the action related information to said identification key; means to allow an user to retrieve at least part of the effects of an action previously performed using the same identifying key; organising means capable of statistically analysing the frequency and the sequence of the actions performed by an user identified by the same identification key in order to suggest new action to the same user.
 2. System according to claim 1, wherein said browsing means comprise computer means allowing a user to access keyword search engines over different knowledge databases of the network and to display their responses.
 3. System according to claim 2, wherein said accessing and displaying means comprise computer means allowing a user to organise said responses.
 4. System according to claim 2, wherein said accessing and displaying means comprise computer means capable of displaying hypertext responses with their hyperlinks inactivated and means allowing an user to activate hyperlinks on selected responses.
 5. System according to claim 3, wherein said organising means comprise computer means allowing an user to delete selected responses from a screen.
 6. System according to claim 3, wherein said organising means comprise computer means allowing an user to move selected parts of responses, in terms of text, images or hyperlinks, to a selected node of a keyword tree, being able to add new nodes when required.
 7. System according to claim 1, wherein said organising means include a self-learning neural network system capable of being operated by a network server.
 8. System according to claim 7, wherein said neural network system is capable of analysing the network available information and the actions of a user in the form of hyperobjects represented by hyperpoints of a number of hyperspaces, the relevance of said hyperobjects in respect to a user information search being classified according to their reciprocal distance in at least one of said hyperspaces.
 9. A Method to access and organise information available from a network including one or more network servers and one or more user units, the user units being provided with means allowing users to browse documents and access other services available form the network, characterised in that it comprise the following steps: identifying groups of users having a similar behaviour when they are browsing the network; statistically analysing the frequency of actions performed by the users of said groups in order to organise the information resulting form the network browsing; suggesting new action to said users on the base of the performed statistical analysis.
 10. Method according to claim 9, wherein said suggesting step is applied to users having a similar behaviour when they move selected parts of responses, in terms of text, images or hyperlinks, to a selected node of a keyword tree, they adding new nodes when required. 